<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./node_modules/axios/dist/axios.min.js"></script>
    <style>
        body{
            margin: 0;
            padding: 30px;
        }
    </style>
</head>
<body>
    <h1>修改用户</h1>

    <label for="username">用户名:</label>
    <input type="text" id="username"><br>

    <label for="password">密码:</label>
    <input type="text" id="password"><br>

    <button>提交</button>

    <script>
        //获取从index.html页面携带过来的id的值
        console.log(location)//发现href和search属性中都有id的值
        console.log(location.search)//?id=1
        console.log(location.search.replace('?',''))//id=1
        console.log(location.search.replace('?','').split('='))//['id', '1']
        console.log(location.search.replace('?','').split('=')[1])//1

        //获取id的方式一:手动解析
        //const id = location.search.replace('?','').split('=')[1]

        //获取id的方式二:使用URLSearchParams对象
        const id = new URLSearchParams(location.search).get('id')
        console.log(id)

        //使用axios的get请求,获取要修改的那个用户,将它的信息展示到修改页面(回显操作)
        axios.get(`http://localhost:3000/users/${id}`).then(res=>{
            //获取要回显的那个用户
            const user  = res.data

            //回显数据
            document.querySelector('#username').value = user.username
            document.querySelector('#password').value = user.password
        })

        //获取提交按钮,添加点击事件,发送put请求,修改用户
        document.querySelector('button').addEventListener('click',function(){
            //获取用户提交的用户名和密码
            const username = document.querySelector('#username').value
            const password = document.querySelector('#password').value

            //发送put请求
            axios({
                method:'put',
                url:`http://localhost:3000/users/${id}`,
                data:{username:username,password:password}
            }).then(res=>{
                //跳转到首页
                location.href = './index.html'
            })
        })
    </script>
</body>
</html>